The rapid increase in the use of mobiles devices, such as cellular phones, Personal Digital Assistants (PDAs) and similar devices to access the Internet has greatly increased the usefulness and accessibility of a number of applications, while at the same time creating a problem for the developers of those applications. As the type of device used to access the application may vary, so do the software requirements for that device, as there is little standardization of software and operating system platforms between competing manufacturers.
When a device accesses an application over the Internet, it sends information about itself to the application in an HTTP header information such as the type of browser being used and the type of device. This combination of information can be used to define and identify the device. Identification of the device is the key element in enabling support for multiple devices in a single application.
An issue that arises is the proper and consistent identification of the device which is accessing the application. Different mobile devices support and use different software, and in order to ensure that the proper version of the software is downloaded to the device to support the application, a mechanism is needed to identify the device and its software without user intervention.
Additionally, this device identification mechanism should be able to identify and support new devices as they are introduced, and not be limited only to those devices already supported.